1. Field of the Present Invention
Embodiments of the present invention relate, in general, to Software Configuration Management (SCM). More specifically, the embodiments of the present invention relate to a SCM portal for an SCM environment.
2. Description of the Background Art
Many organizations rely on Software Configuration Management (SCM) systems to manage distributed software development teams. According to IEEE-STD-610, SCM is described as a discipline applying technical and administrative direction and surveillance to identify and document the functional and physical characteristics of a configuration item, control changes to those characteristics, record and report change processing and implementation status, and verify compliance with specified requirements. A configuration item is a discrete document, drawing, software element or hardware unit whose development history that is relevant to a project and that must be stored so that any item can be reconstructed in one of its former states.
A typical SCM system can be defined as a set of activities, which are designed to control changes in the software development processes by identifying work products that are likely to change, establish relationships among the work products, define mechanisms for managing different versions of these work products, control the changes imposed, and audit and report on the changes made. Examples of SCM systems include, but are not limited to ClearCase (including MultiSite, ClearGuide, ClearDDTS and ClearQuest), Concurrent Versions Systems (CVS), Visual SourceSafe, Perforce, Accu-Rev, BitKeeper, SpectrumSCM, Starbase, Merant PVCS, Telelogic CM Synergy, RCS, SVK, Vesta, Montone, Starbase, Sun Teamware, Seapine, Aegis, SCCS, Git, AlienBrain, Bazaar, SourceGear Vault, StarTeam, Subversion, Surround, VSS, VSS Journal, Roundtable, and AllFusion Endevor.
A typical software development process involves a number of developers who simultaneously perform different tasks on various files related to the software development processes. The files can be documents, source codes, images etc. In such a multiple developer environment, SCM systems are installed for addressing problems related to sharing and simultaneously updating data. Further, SCM systems track metadata of the files related to the software development processes. In addition, SCM systems keep a track of the developers modifying the files.
Conventionally, SCM systems provide tools and other information sources for managing software configuration management environment. The SCM tools track the software development processes. Further, the SCM tools automate the enforcement of the software development policies and procedures of the software. These capabilities enable SCM systems to address the requirements of organizations that produce and release new or modified software.
However, in a large scale global SCM environment, the SCM tools are insufficient for performing activities such as data collection and aggregation from various data sources, visualization of the data, and monitoring using the data. In addition, a large support staff is required to manage such a large and globally dispersed SCM environment. Further, it becomes difficult to manage a large and globally dispersed SCM environment from a central location.